//---------------------------------------------------------------------------
#ifndef uDatesH
#define uDatesH

#include <System.hpp>
#include <dstring.h> //Pour AnsiString
#include "Dates.h"  //Pour sDate
#include "EIC.h"

//      ex : 00=2000; 28=2028; 30=2030; 31=1931; 99=1999
#define DATE_MAX_ANNEES2000 30
extern PACKAGE_EIC short shSeuilAnnees2000; //Nombre de 2 caractères. Les nombres inférieures ou égaux appartiennent au XXIe siècle, les nombres supérieures appartiennt au XXe siècle.

extern PACKAGE_EIC AnsiString      __fastcall An4DToAnsiString2D(   short int shiAnnee );

////////////////////////////////////////////////////////////////////////////////
//                                                                            //
//                             Operation sDate
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
extern PACKAGE_EIC AnsiString __fastcall sDateToAnsiString(const sDate &d);
extern PACKAGE_EIC sDate __fastcall TDateTimeTosDate(const TDateTime &TDate);
extern PACKAGE_EIC TDateTime __fastcall sDateToTDateTime(const sDate &Date);
extern PACKAGE_EIC char DernierJourMois(const sDate &Date);
extern PACKAGE_EIC int IsBissextile(short Annee);
extern PACKAGE_EIC sDate __fastcall AnsiStringTosDate(const AnsiString &aDate);

////////////////////////////////////////////////////////////////////////////////
//                                                                            //
//                             Operation Date/Heure (unsigned short)
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
extern PACKAGE_EIC AnsiString       __fastcall MakeDate(          unsigned short    uhDate);
extern PACKAGE_EIC AnsiString       __fastcall MakeTime(          unsigned short    uhTime);


#endif
